#ifndef _NETWORK__MAXYIEYESPIMEDIATORCONTRE_INTERFACE_MAXYIEYEMEDIATORCONTRE_H_
#define _NETWORK__MAXYIEYESPIMEDIATORCONTRE_INTERFACE_MAXYIEYEMEDIATORCONTRE_H_

#include "Spi_Dev_Management/Spi_Buffer_Manager.h"
#include "Maxieye_Spi_Mediator_Contre/Ibuffer_User_Register.h"

class Maxieye_Mediator_Contre : public Ibuffer_User_Register
{
public:
    Maxieye_Mediator_Contre();
    ~Maxieye_Mediator_Contre();

private:
    /*Ibuffer_User_Register*/
    Soc_In_Data_Buffer* register_in_buffer(const std::string& unique_id, const Buffer_Id& id, 
                                                    const uint16_t& start_position, const size_t& length) override;
    Soc_Out_Data_Buffer* register_out_buffer(const std::string& unique_id, const Buffer_Id& id, 
                                                     const uint16_t& start_position, const size_t& length) override;
    Soc_In_Data_Buffer* register_whole_in_buffer(const Buffer_Id& id) override;
    Soc_Out_Data_Buffer* register_whole_out_buffer(const Buffer_Id& id) override;
    /*Ibuffer_User_Register*/

    Soc_In_Data_Buffer  its_mcu_2_soc_data_buffer_cf;
    Soc_Out_Data_Buffer its_soc_2_mcu_data_buffer_cf;
    Soc_In_Data_Buffer  its_mcu_2_soc_data_buffer_df;
    Soc_Out_Data_Buffer its_soc_2_mcu_data_buffer_df;
};


#endif